u`

EIuWFNgwK@
EQ[JK@

IuWFNgwK@

ER\[AvP[VɂRPGނɂāAeLXg10͂܂ł̃mEnEƃeNjbNmFK܂傤B

RPGK1 dl

EvWFNg̓R\[AvP[VŁurpgvƂ܂
EmƃvC[키Q[
Eڍׂ̓XPg̃Rgǂ݉ė

s

m(HP=10)ꂽB
U܂H(1:͂ 0:߂)F1
Ȃ̍U!
m(HP=10)5̃_[W^!
m(HP=5)͏MP4̖@!
Ȃ16̃_[W󂯂!
U܂H(1:͂ 0:߂)F1
Ȃ̍U!
m(HP=5)7̃_[W^!
m|!

vO ver.0i߂ɂȂĂ܂j

//IuWFNgwK RPGKP
using System;
class Madoshi {
    int mp; //MP
    int hp; //HP
    Random rnd = new Random(); //pRandomNX̃CX^X𐶐
    public  () { //RXgN^
        mp = rnd.Next(10); //0`9̊Ԃ̃_Ȑ𓾂MP̏lƂ
        hp = 10 + rnd.Next(10); //10`19̊Ԃ̃_Ȑ𓾂HP̏lƂ
    }
    public int GetHP() { return hp; } //HPԂ\bh
    public void DispInfo() { //m̏\
        Console.Write("m(HP=" + hp + ")"); //HP\(sȂ)
    }
    public int Fight() { //mȂUAȂ̃_[WlԂ
        if (rnd.Next(2) == 1) { //m1/2Ŗ@UǂI
            int j = rnd.Next(5) + 1; //MP1`5̗
            DispInfo(); // m̏\
            Console.WriteLine("͏MP" + j + "̖@!");
            if (mp < j) { // MPsH
                Console.WriteLine("MPȂ!");
                return 0; // Ȃ̃_[W=0Ԃ(UI)
            } else { // MP[H
                Console.WriteLine("Ȃ" + j * 4 + "̃_[W󂯂!");
                mp -= j; //MP
                return j * 4; //Ȃ̃_[W=MP4{Ԃ(UI)
            }
        } else { //ʏUH
            int k = rnd.Next(5) + 1; //U͂1`5̗
            DispInfo(); //m̏\
            Console.WriteLine("̍U!");
            Console.WriteLine("Ȃ" + k + "̃_[W󂯂!");
            return k; //Ȃ̃_[W=1`50Ԃ(UI)
        }
    }
    public void Damage() { //mȂ_[W炤
        int k = 5 + rnd.Next(5); //Ȃ̍U͂5`9̗
        Console.WriteLine("Ȃ̍U!");
        DispInfo(); //m̏\(U󂯂̖mHP\)
        Console.WriteLine("" + k + "̃_[W^!");
        hp -= k; //mHP_E
    }
}
class minimadou { //Q[{̂̃NX
    public static void Main() { //Q[is郁\bh
        string ans; //͗p
        // 퓬Jn
        int myhp = 20; // ȂHP
        Madoshi m = new Madoshi(); // m𐶐
        m.DispInfo(); // m̏\
        Console.WriteLine("ꂽB");
        // 퓬(ȂʂCmʂ܂ŌJԂ)
         (myhp > 0 && m.GetHP() > 0) { //ȂHPAmHP
            Console.Write("U܂H(1:͂ 0:߂)F");
            ans = Console.ReadLine(); // U邩ǂ𓾂
            if (ans == "1") { // ͂H
                m.Damage(); // mU
                if (m.GetHP() > 0) { // m͎łȂH
                    myhp -= m.Fight(); // m̍UIȂHP}CiX
                    if (myhp <= 0) { // ȂHPȂH
                        Console.WriteLine("Ȃ͎ɂ܂B");
                    }
                } else { // mHPȂH
                    Console.WriteLine("m|!");
                }
            } else { // ߂H
                // JԂI
            }
        }
    }
}

쐬

//IuWFNgwK RPGKP
using System;
class Madoshi { //m\NX
    int mp; //MP(JvZ(p.166)̂߂publicɂȂ)
    int hp; //HP(V)
    Random rnd = new Random(); //pRandomNX̃CX^X𐶐(q)
    public Madoshi() { //RXgN^(p.167)
        mp = rnd.Next(10); //0`9̊Ԃ̃_Ȑ𓾂MP̏lƂ
        hp = 10 + rnd.Next(10); //10`19̊Ԃ̃_Ȑ𓾂HP̏lƂ
    }
    public int GetHP() { return hp; } //HPԂ\bh
    public void DispInfo() { //m̏\
        Console.Write("m(HP=" + hp + ")"); //HP\(sȂ)
    }
    public int Fight() { //mȂUAȂ̃_[WlԂ
        if (rnd.Next(2) == 1) { //m1/2Ŗ@UǂI
            int j = rnd.Next(5) + 1; //MP1`5̗
            DispInfo(); // m̏\
            Console.WriteLine("͏MP" + j + "̖@!");
            if (mp < j) { // MPsH
                Console.WriteLine("MPȂ!");
                return 0; // Ȃ̃_[W=0Ԃ(UI)
            } else { // MP[H
                Console.WriteLine("Ȃ" + j * 4 + "̃_[W󂯂!");
                mp -= j; //MP
                return j * 4; //Ȃ̃_[W=MP4{Ԃ(UI)
            }
        } else { //ʏUH
            int k = rnd.Next(5) + 1; //U͂1`5̗
            DispInfo(); //m̏\
            Console.WriteLine("̍U!");
            Console.WriteLine("Ȃ" + k + "̃_[W󂯂!");
            return k; //Ȃ̃_[W=1`50Ԃ(UI)
        }
    }
    public void Damage() { //mȂ_[W炤
        int k = 5 + rnd.Next(5); //Ȃ̍U͂5`9̗
        Console.WriteLine("Ȃ̍U!");
        DispInfo(); //m̏\(U󂯂̖mHP\)
        Console.WriteLine("" + k + "̃_[W^!");
        hp -= k; //mHP_E
    }
}
class minimadou { //Q[{̂̃NX
    public static void Main() { //Q[is郁\bh
        string ans; //͗p
        // 퓬Jn
        int myhp = 20; // ȂHP
        Madoshi m = new Madoshi(); // m𐶐
        m.DispInfo(); // m̏\
        Console.WriteLine("ꂽB");
        // 퓬(ȂʂCmʂ܂ŌJԂ)
        while (myhp > 0 && m.GetHP() > 0) { //ȂHPAmHP
            Console.Write("U܂H(1:͂ 0:߂)F");
            ans = Console.ReadLine(); // U邩ǂ𓾂
            if (ans == "1") { // ͂H
                m.Damage(); // mU
                if (m.GetHP() > 0) { // m͎łȂH
                    myhp -= m.Fight(); // m̍UIȂHP}CiX
                    if (myhp <= 0) { // ȂHPȂH
                        Console.WriteLine("Ȃ͎ɂ܂B");
                    }
                } else { // mHPȂH
                    Console.WriteLine("m|!");
                }
            } else { // ߂H
                break; // JԂI(p.125)
            }
        }
    }
}

Ɋւ⑫

ERandomNX͗񋟂̂ŁASystemOԂɂ̂Łuusing System;v΃NXŗp\
ERandomNX̃ftHgRXgN^ĂяoƁAIɃVXeNbNpV[h(n̏ݒ)sāA
@@\񋟂IuWFNg
@ C/C++񋟂^ƓAÕV[h͕svȂ̂ŕ֗
ERandomNX̃CX^X\bhuint Next(int)v0l-1܂ł̂ǂꂩ̐Ԃ
F
@Random rnd = new Random(); //pRandomNX̃CX^X𐶐
@int mp = rnd.Next(10); //0`9̊Ԃ̃_Ȑ𓾂MP̏lƂ
@int hp = 10 + rnd.Next(10); //10`19̊Ԃ̃_Ȑ𓾂HP̏lƂ
EIuWFNg͎g܂킵\Ȃ̂ŁANX̃f[^oƂĒ`EĂƗǂ

~jK mini01.cs 񂯂̊b

EɂāA"O["܂"`L"܂"p["\悤

쐬 ̂P

//~jK mini01.cs 񂯂̊b
using System;
class mini01 { //ɂāA"O["܂"`L"܂"p["\
    public static void Main() { 
        Random rnd = new Random(); //pRandomNX̃CX^X𐶐
        int r = rnd.Next(3); //0`2̊Ԃ̃_Ȑ𓾂
        Console.WriteLine((r == 0) ? "O[" : ((r == 1) ? "`L" : "p["));
    }
}

쐬 ̂Q

//~jK mini01.cs 񂯂̊b
using System;
class mini01 { //ɂāA"O["܂"`L"܂"p["\
    public static void Main() {
        string[] hand = {"O[", "`L", "p["};
        Random rnd = new Random(); //pRandomNX̃CX^X𐶐
        int r = rnd.Next(3); //0`2̊Ԃ̃_Ȑ𓾂
        Console.WriteLine(hand[r]); //Yɂĕ𓾂ĕ\
    }
}

QlFÖق̌^w

EÖق̌^w(p.147)pāuvar hand = new[]{"O[", "`L", "p["};vƂĂǂ

RPGK2 dl

EvC[HP\悤
EuU܂H(1:͂ 0:߂)FvucHṔłBU܂H(1:͂ 0:߂)Fvɂ悤

쐬

//IuWFNgwK RPGKQ
using System;
class Madoshi { //m\NX
    int mp; //MP(JvZ(p.166)̂߂publicɂȂ)
    int hp; //HP(V)
    Random rnd = new Random(); //pRandomNX̃CX^X𐶐(q)
    public Madoshi() { //RXgN^(p.167)
        mp = rnd.Next(10); //0`9̊Ԃ̃_Ȑ𓾂MP̏lƂ
        hp = 10 + rnd.Next(10); //10`19̊Ԃ̃_Ȑ𓾂HP̏lƂ
    }
    public int GetHP() { return hp; } //HPԂ\bh
    public void DispInfo() { //m̏\
        Console.Write("m(HP=" + hp + ")"); //HP\(sȂ)
    }
    public int Fight() { //mȂUAȂ̃_[WlԂ
        if (rnd.Next(2) == 1) { //m1/2Ŗ@UǂI
            int j = rnd.Next(5) + 1; //MP1`5̗
            DispInfo(); // m̏\
            Console.WriteLine("͏MP" + j + "̖@!");
            if (mp < j) { // MPsH
                Console.WriteLine("MPȂ!");
                return 0; // Ȃ̃_[W=0Ԃ(UI)
            } else { // MP[H
                Console.WriteLine("Ȃ" + j * 4 + "̃_[W󂯂!");
                mp -= j; //MP
                return j * 4; //Ȃ̃_[W=MP4{Ԃ(UI)
            }
        } else { //ʏUH
            int k = rnd.Next(5) + 1; //U͂1`5̗
            DispInfo(); //m̏\
            Console.WriteLine("̍U!");
            Console.WriteLine("Ȃ" + k + "̃_[W󂯂!");
            return k; //Ȃ̃_[W=1`50Ԃ(UI)
        }
    }
    public void Damage() { //mȂ_[W炤
        int k = 5 + rnd.Next(5); //Ȃ̍U͂5`9̗
        Console.WriteLine("Ȃ̍U!");
        DispInfo(); //m̏\(U󂯂̖mHP\)
        Console.WriteLine("" + k + "̃_[W^!");
        hp -= k; //mHP_E
    }
}
class minimadou { //Q[{̂̃NX
    public static void Main() { //Q[is郁\bh
        string ans; //͗p
        // 퓬Jn
        int myhp = 20; // ȂHP
        Madoshi m = new Madoshi(); // m𐶐
        m.DispInfo(); // m̏\
        Console.WriteLine("ꂽB");
        // 퓬(ȂʂCmʂ܂ŌJԂ)
        while (myhp > 0 && m.GetHP() > 0) { //ȂHPAmHP
            Console.Write("cHP{0}łBU܂H(1:͂ 0:߂)F", myhp);
            ans = Console.ReadLine(); // U邩ǂ𓾂
            if (ans == "1") { // ͂H
                m.Damage(); // mU
                if (m.GetHP() > 0) { // m͎łȂH
                    myhp -= m.Fight(); // m̍UIȂHP}CiX
                    if (myhp <= 0) { // ȂHPȂH
                        Console.WriteLine("Ȃ͎ɂ܂B");
                    }
                } else { // mHPȂH
                    Console.WriteLine("m|!");
                }
            } else { // ߂H
                break; // JԂI(p.125)
            }
        }
    }
}

IuWFNgwK\FvpeB̓ƃQ[̌

Q[JK@

Cg_NV

EOtBbNX|CeBOfBoCX(}EXA^b`)pvOJɂ́AUnitẙJc[pƕ֗
EAWindows̏ꍇAOS񋟂vO~OC^tF[X(API)𒼐ڗp邱ƂŃvO~O̎Rxグ
EŁẢKłC#GDI+ƂWindows񋟂APIpāAtH[AvP[VƂĊJ悤
EGDI+̗pɂAOtBbNX|CeBOfBoCXTEhȂǂpQ[J悤

tH[AvP[V̍쐬ƊmF

EVSŁuVvWFNgvuC#vuWindowstH[AvP[V(.NET)v
E쐬ƃtH[fUCiʂɂȂȀŃtH[p[czu邱Ƃł邪AvOŒ`Ezuxオ
Ê߂̃\[XuProgram.csvENbNāuR[h̕\v

p.421 WindowstH[vO~O

ELŎ쐬ꂽ\[XuProgram.csvɂ͕spusingwACӁiK{ł͂ȂjLq܂܂Ă
EŁAp.422umostsimple.csvQlɂāAKvȃ\[Xɍiėp悤

쐬

using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
class Program : Form { //FormNXp
    static void Main() { //public̎w͔C
        Application.Run(new Program()); //ptH[𐶐ĉʂɏo
    }
}

vO̐

EWindowstH[AvP[V(.NET)́AC#/.NET񋟂System.Windows.Forms.FormNX̃IuWFNgɂĎÕEBhE𐶐ėp
EAFormNXphNXōsƂ\
EhNXōs΁Ae̋Lqǉł̂ŁA̕Rx
EpɂAFormNXĂŏEő剻E̂R{^̋@\A}EXɂTCYύXȂǂ̋@\p
EtH[̐́AFormNX܂͂̔hNX̃IuWFNgnewOK
ẼIuWFNgAC#/.NET񋟂System.Windows.Forms.ApplicationNX̐ÓI\bhRunɈƂēnƁAʂɕ\Ă

eLXg p.422 ⑫

EuOvƂĎQƐݒ̒ǉLqĂ邪AVisual Studio 2019ȍ~ł͕sv

e[}P tH[TCY̎w

ESystem.Windows.Forms.FormNXɂ́AControlNXpWidthvpeB
Eɐl(int)^ƁAtH[̕ɐݒ肳
ElɁAHeightvpeBAl(int)^ƁAtH[̍ɐݒ肳
EAۂɂ͑Ŝ̑傫ɂȂÄ̗̑傫ɂɂ͗]Tčs
EvpeBւ̑̓IuWFNg̐ŁARun\bhɂ\̑Oɍs
EāuApplication.Run(new Program());v𕪊Kv

KP tH[TCY̎w

Ë640~480ɂ̂ŁAtH[TCY660~520ɂ悤

쐬

//KP tH[TCY̎w
using System; //tH[AvP[VɕK{
using System.Windows.Forms; //tH[AvP[VɕK{
class Program : Form { //FormNXp
    static void Main() { //public̎w͔C
        Program p = new Program(); //ptH[̃CX^X𐶐
        p.Width = 660; //CX^XWidthvpeBɕ
        p.Height = 520; //CX^XHeightvpeBɍ
        Application.Run(p); //CX^Xʂɏo
    }
}

⑫FƍSizeƂĂ܂Ƃ߂Ĉ

ESystem.Drawing.SizeNX̃RXgN^ɁAƍnƃTCYIuWFNg𐶐Ă
EAFormIuWFNgSizevpeBɓnƂŁAƍ܂Ƃ߂Ĉ
F
  Program p = new Program(); //ptH[̃CX^X𐶐
  p.Size = new System.Drawing.Size(660, 520); //CX^XSizevpeBSizeIuWFg
  Application.Run(p); //CX^Xʂɏo
EtH[AvP[ṼNXł́uusing System.Drawing;vw肷邱Ƃ̂ŁAw肷ƉL̂悤ɂȂB
@p.Size = new Size(660, 520); //CX^XSizevpeBSizeIuWFg
Ȅ́Ae̕`IuWFNgɑ΂āA\߃TCYpӂĂꍇȂǂɕ֗

e[}Q tH[̎w

ESystem.Windows.Forms.FormNXɂ́AtH[TextvpeB
Eݒ肷ƁÃAvɂȂ

oFKQ tH[̎w

EtH[uGamevɂ悤
E\[Xt@CuProgram.csvZIPkđMĂ

Q[JK\FtH[TCY̌Œ艻Awi摜̕`Ȃ
